#ifndef STX_PREPROCESSOR_TUPLE_REM_HPP
#define STX_PREPROCESSOR_TUPLE_REM_HPP

#define STX_PP_TUPLE_REM(size) STX_PP_TUPLE_REM_IMPL(size)
#define STX_PP_TUPLE_REM_IMPL(size) STX_PP_TUPLE_REM_ ## size
#define STX_PP_TUPLE_REM_0()
#define STX_PP_TUPLE_REM_1(x0) x0
#define STX_PP_TUPLE_REM_2(x0, x1) x0, x1
#define STX_PP_TUPLE_REM_3(x0, x1, x2) x0, x1, x2
#define STX_PP_TUPLE_REM_4(x0, x1, x2, x3) x0, x1, x2, x3
#define STX_PP_TUPLE_REM_5(x0, x1, x2, x3, x4) x0, x1, x2, x3, x4
#define STX_PP_TUPLE_REM_6(x0, x1, x2, x3, x4, x5) x0, x1, x2, x3, x4, x5
#define STX_PP_TUPLE_REM_7(x0, x1, x2, x3, x4, x5, x6) x0, x1, x2, x3, x4, x5, x6
#define STX_PP_TUPLE_REM_8(x0, x1, x2, x3, x4, x5, x6, x7) x0, x1, x2, x3, x4, x5, x6, x7
#define STX_PP_TUPLE_REM_9(x0, x1, x2, x3, x4, x5, x6, x7, x8) x0, x1, x2, x3, x4, x5, x6, x7, x8
#define STX_PP_TUPLE_REM_10(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9
#define STX_PP_TUPLE_REM_11(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10
#define STX_PP_TUPLE_REM_12(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11
#define STX_PP_TUPLE_REM_13(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12
#define STX_PP_TUPLE_REM_14(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13
#define STX_PP_TUPLE_REM_15(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14
#define STX_PP_TUPLE_REM_16(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15
#define STX_PP_TUPLE_REM_17(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16
#define STX_PP_TUPLE_REM_18(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17
#define STX_PP_TUPLE_REM_19(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18
#define STX_PP_TUPLE_REM_20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19
#define STX_PP_TUPLE_REM_21(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20
#define STX_PP_TUPLE_REM_22(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21
#define STX_PP_TUPLE_REM_23(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22
#define STX_PP_TUPLE_REM_24(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23
#define STX_PP_TUPLE_REM_25(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24
#define STX_PP_TUPLE_REM_26(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25
#define STX_PP_TUPLE_REM_27(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26
#define STX_PP_TUPLE_REM_28(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27
#define STX_PP_TUPLE_REM_29(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28
#define STX_PP_TUPLE_REM_30(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29
#define STX_PP_TUPLE_REM_31(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30
#define STX_PP_TUPLE_REM_32(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31) x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31

#endif // STX_PREPROCESSOR_TUPLE_REM_HPP
